From e0bebeef947b1ae988526cd3ddd142c72b4c4957 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 26 Jan 2010 15:53:52 +0000 Subject: [PATCH] x86: reduce EOI stack's size in per-cpu area. Only dynamic vectors uses EOI stack, so the size can be safely reducd to NR_DYNAMIC_VECTORS. Signed-off-by : Xiantao Zhang --- xen/arch/x86/irq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 7542f9d936..93e64e8c38 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -753,8 +753,8 @@ struct pending_eoi { u32 vector:8; /* vector awaiting EOI */ }; -static DEFINE_PER_CPU(struct pending_eoi, pending_eoi[NR_VECTORS]); -#define pending_eoi_sp(p) ((p)[NR_VECTORS-1].vector) +static DEFINE_PER_CPU(struct pending_eoi, pending_eoi[NR_DYNAMIC_VECTORS]); +#define pending_eoi_sp(p) ((p)[NR_DYNAMIC_VECTORS-1].vector) static inline void set_pirq_eoi(struct domain *d, unsigned int irq) { @@ -816,7 +816,7 @@ static void __do_IRQ_guest(int irq) { sp = pending_eoi_sp(peoi); ASSERT((sp == 0) || (peoi[sp-1].vector < vector)); - ASSERT(sp < (NR_VECTORS-1)); + ASSERT(sp < (NR_DYNAMIC_VECTORS-1)); peoi[sp].irq = irq; peoi[sp].vector = vector; peoi[sp].ready = 0; -- 2.30.2